\chapter{Cadre du stage}\label{ch:cadre}

Durant l'ensemble de mon stage, j'ai travaillé au sein du département DEPFS/SCA en charge de l'ensemble des plateformes de service liés au service de vidéo auprès de France Télécom, et plus spécifiquement auprès de l'équipe NewTV/PRISME.

\section{France Télécom/Orange}

Opérateur téléphonique historique français, France Télécom est la 121e entreprise mondiale. Elle emploie près de 172 000 personnes, dont 105 000 en France, et sert près de 226 millions de clients dans le monde. Depuis février 2012 et le passage sous la marque Orange des activités de téléphonie fixe, la totalité des offres commercialisées par France Télécom utilise cette marque, qui a vocation à devenir la nouvelle appellation du groupe à court terme.

Avec un panel large de services (téléphonie, tv, internet,\ldots) accessible aux particuliers comme aux entreprises, elle se capitalise à 31.23 milliards d'euros pour un chiffre d'affaires de 45.277 milliards d'euros (au 31 décembre 2011).

\subsection{DEPFS Rennes}

Une plateforme de service (PFS) assure l'accès aux services fournies par les différentes applications aux différents utilisateurs en s'appuyant sur le réseau et le système d'information de l'entreprise. Celle-ci est généralement interconnectée avec de nombreux autres PFS Orange qui sont localisées dans les divers Data-Center Orange (Aubervilliers, Montsouris,\ldots).

La Direction d'Exploitation des PlateFormes de Service (DEPFS) assure l'exploitation de l'ensemble des plateformes Orange relatives à la VoIP, Orange TV, internet, les solutions entreprises et  le réseau vocal. De plusi, les objectifs des entités DEPFS sont:
\begin{itemize}
	\item le déploiement des plateformes pour l'accueil de nouveaux services,
	\item la maintenance des plateformes,
	\item l'assistance technique aux utilisateurs (professionels ou particuliers)
\end{itemize}
L'entité DEPFS de Rennes est affectée aux composants liés aux offres TV d'Orange (Orange TV) et à aux offres de vidéo à la demande(Orange VOD).

\subsection{SCA}

Le département Service Contenus Audiovisuel (SCA) est le service en charge de faire fonctionner la Live Box et la TV sur ADSL d’Orange. Il est dirigé par André GOURDIN et est réparti en 4 pôles d’expertises :
\begin{itemize}
\item Box et Diffusion responsable des PFS relatives à la LiveBox
\item TV ZE et New TV Enabler responsable des PFS relatives aux zones éligibles à l’ADSL
\item TV ZNE et New TV Core responsable des PFS relatives aux zones non éligibles à l’ADSL
\item CMS responsable des PFS relatives aux provisionning des VOD
\end{itemize}

De plus, le parc d’équipement (et donc de configuration)  de SCA est de 2877 matériels actifs au 1er février 2010. L’essentiel de l’activité du département SCA étant donc de l’administration de système, et de l’automatisation de taches, le nombre de développeur dans l’équipe est assez limité.

\subsection{PRISME}

Avec l'arrivée de nouvelles offres télévision d'Orange, les besoins d'analyse sur la qualité de service des nouveaux serveurs se sont accrus. Il s'avère que ceux-ci étaient développés au cas par cas, amenant ainsi le besoin d'un outil centralisant et facilitant l'utilisation de nouveaux indicateurs.

Début 2011, l'équipe NewTV a ainsi mis en place la plateforme PRISME qui permet la création d'indicateurs statistiques et leur visualisation sur un portail web selon les concept de \textit{Business Intelligence} évoqués \ref{sectBI}. Sevan Hartunians a réalisé son stage dans ce cadre. L'application est depuis utilisé par un grand nombre de personne sur le plateau DEPFS de Rennes et commence à être déployée auprès d'autres plateformes Orange.

\section{Business Intelligence}\label{sectBI}

Pour appréhender l'outil PRISME et donc \nomproj, il est nécessaire de comprendre les bases de \bi~\cite{wikibiBib} qui ont conduit à la réalisation de ces projets.

Ainsi, pour analysez la qualité de service des plateforme NewTV, la seule solution est d'analyser les données techniques et fonctionnels des serveurs. Hors étant donné le nombre très important d’équipements à surveiller, il y a un flot conséquent de données brutes (fichiers de logs, extractions de bases de données,\ldots) pour lesquels il faut ressortir des informations pertinentes. Ces problématiques sont typiquement des problématiques liées à la \bi.

En effet, la \bi désigne l'ensemble des éléments permettant la collecte, l'analyse et la restitution de données matérielles ou non d'une entreprise en vue d'offrir une vue d'ensemble de l'activité.

\subsection{ETL : Extract, Transform, Load}

La fonction \textit{Extract} est le module qui va aller récupérer les données sur nos divers équipements. Elle est géré au sein de PRISME par le module \textit{Grabber}. Celui-ci permet d'éviter la réalisation de programmes batch répétitifs et faciliter l'intégration d'un nouveau flux d'entrée de données. En effet, il prend en charge différentes sources de données, les principales étant bien sûr les SGBD relationnels, fichiers de log, flux XML,\ldots Un outil de planification de tâches vient ensuite réaliser l'action régulièrement, potentiellement à heure de charge creuse. Les données ainsi obtenues sont traités et chargés dans le \textit{DataWarehouse}, l'entrepôt de données.

L'ensemble des fonctions permettant l'alimentation de notre entrepot de données (DataWarehouse) est appellé ETL pour "Extract, Transform, Load". Il centralise les accès vers les différentes sources et les charge dans notre base de donnée cible.

\paragraph{Extract} On va ici éviter la réalisation de programmes batch particuliers et redondants dont il faudra assurer la maintenance. L'intégration d'un nouveau flux s'opère via une configuration et des méthodes d'accès standardisées.
On pourra extraire différent type de fichier et ce de manière différente toujours via notre configuration.

\paragraph{Transform} assure quant à lui que nos différents fichiers soit traités pour pouvoir atteindre leur cible de manière universelle.

\paragraph{Load} vient finalement chargé nos informations dans notre base de donnée cible. Il s'assurera potentiellement du respect des modélisation en "étoile (décrite \ref{starModel}) ou effectuera des aggrégats d'informations pour alléger la taille de des informations consultables.

\subsection{Modélisation en étoile}\label{starModel}

La base de donnée cible, nommée datawarehouse regroupe l'ensemble des données récoltées par l'ETL. Ces données sont non-volatiles et historisées. De ce fait, le datawarehouse peut contenir des millions de lignes et nécessite de ce fait une modélisation spécifique.

La modélisation en étoile~\cite{starBib} est une réponse à ces obligations. Deux principaux concepts sont utilisés lors d’une modélisation en étoile :
\begin{itemize}
\item Les faits (ou mesures) : ce sont les éléments mesurés dans l'analyse comme les montants, les quantités, les taux, etc.
\item Les dimensions (ou axes d’analyses) : ce sont les dimensions explorées dans l'analyse comme par exemple le temps (jour, mois, période, ...), la nomenclature des produits (référence, famille, ...), la segmentation clientèle (tranche d'âge, marché, ...), etc.
\end{itemize}

Les tables de dimensions sont directement reliées à une table de faits. Le principe d'optimisation de ce modèle en étoile est le suivant : une clé calculée "technique" (clé générique) sert de jointure relationnelle entre les tables de dimensions et la table des faits. La requête SQL réalise d'abord sa sélection sur les tables de dimensions (peu volumineuses) et ensuite seulement, à partir des clés ainsi sélectionnées, la jointure avec la volumineuse table des faits (figure \ref{starExample}).

Les données sont ainsi stockées de manière directes, i.e. tel qu'issue de nos extractions ou bien agrégées (par mois,\ldots) pour restreindre l'occupation disque.

\begin{figure}
\centering
\includegraphics[scale=0.6]{../img/star.png}
\caption{Exemple de modélisation en étoile}
\label{starExample}
\end{figure}

\subsection{Rapport}

Les outils de rapport (ou de présentation) sont le dernier maillon de notre chaine et permettent la visualisation de nos données. Celles-ci sont affichés sous forme de tableaux, graphiques,\ldots permettant de faciliter l'analyse de nos données.







